//
//  TheXXSystemAlert.h
//  TheXXCategory
//
//  Created by Logan.Fan on 16/8/29.
//  Copyright © 2016年 Logan. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface TheXXSystemAlert : NSObject

/**
 *  单个选项弹窗（Alert）
 *
 *  @param viewController 从哪个控制器弹出
 *  @param title          主标题
 *  @param defaultTitle   按钮标题
 *  @param actionStyle    按钮样式
 *  @param handler        回调
 */
+ (void)alertFrom: (UIViewController *)viewController
       alertTitle: (NSString *)title
     defaultTitle: (NSString *)defaultTitle
       actionType: (UIAlertActionStyle)actionStyle
   defaultHandler: (void(^)(void))handler;

/**
 *  标题+消息 两个选项弹窗（Alert）
 *
 *  @param viewController     从哪个控制器弹出
 *  @param alertTitle         标题
 *  @param alertMessage       消息
 *  @param cancelTitle        取消按钮标题
 *  @param cancelType   取消按钮样式
 *  @param destructiveTitle       确定按钮标题
 *  @param confirmType  确定按钮样式
 *  @param cancelHandler      取消回调
 *  @param destructiveHandler 确定回调
 */
+ (void)alertFromVC: (UIViewController *)viewController
         alertTitle: (NSString *)alertTitle
       alertMessage: (NSString *)alertMessage
        cancelTitle: (NSString *)cancelTitle
   cancelActionType: (UIAlertActionStyle)cancelType
       confirmTitle: (NSString *)destructiveTitle
  confirmActionType: (UIAlertActionStyle)confirmType
      cancelHandler: (void(^)(void))cancelHandler
 destructiveHandler: (void(^)(void))destructiveHandler;


/**
 *  标题+消息 两个选项弹窗（ActionSheet）
 *
 *  @param viewController     从哪个控制器弹出
 *  @param alertTitle         标题
 *  @param alertMessage       消息
 *  @param cancelTitle        取消按钮标题
 *  @param cancelType   取消按钮样式
 *  @param destructiveTitle       确定按钮标题
 *  @param confirmType  确定按钮样式
 *  @param cancelHandler      取消回调
 *  @param destructiveHandler 确定回调
 */
+ (void)actionSheetFromVC :(UIViewController *)viewController
               alertTitle :(NSString *)alertTitle
             alertMessage :(NSString *)alertMessage
              cancelTitle :(NSString *)cancelTitle
         cancelActionType :(UIAlertActionStyle)cancelType
         confirmTitle :(NSString *)destructiveTitle
        confirmActionType :(UIAlertActionStyle)confirmType
            cancelHandler :(void(^)(void))cancelHandler
       destructiveHandler :(void(^)(void))destructiveHandler;


@end
